home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha 2004 May / CyberMycha 05-2004 (Poland).bin / shareware / aargon_deluxe.exe / {app} / Pieces / BLANK.PCE next >
Encoding:
Text File  |  2001-06-24  |  12.6 KB  |  228 lines

  1. /////////////////////////////////////////////////////////////////////////////////
  2. //"Copyright (C) 2001 TwilightGames. All rights reserved."
  3. //BLANK.PCE
  4.  
  5. /////////////////////////////////////////////////////////////////////////////////
  6. // PCE File format:
  7. //
  8. // Section: [FLAGS]
  9. // Meaning: This section defines the basic properties of the piece. There are 4 flags
  10. //          that can be defined as follows:
  11. //             1) "Token"
  12. //                 Type:      Character
  13. //                 Meaning:   This is the character in the .MAP file that represents the
  14. //                            piece.
  15. //                 Default:   None
  16. //             2) "Source"
  17. //                 Type:      Boolean
  18. //                 Meaning:   Indicates that this item is a source of laser light.
  19. //                 Default:   FALSE
  20. //             3) "Loop"
  21. //                 Type:      Boolean
  22. //                 Meaning:   If true, then if there is an animation defined for this piece,
  23. //                            then it will be played in a continuous loop.
  24. //                 Default:   FALSE
  25. //             3) "Animation"
  26. //                 Type:      Boolean (ON/OFF)
  27. //                 Meaning:   If ON, then if there is an animation defined for this piece,
  28. //                            then it will always be playing.
  29. //                 Default:   OFF
  30. //             4) "Alternate_Animations"
  31. //                 Type:      Character
  32. //                 Meaning:   If the piece has THIS property defined in the .MAP file, 
  33. //                            then the alternate animation set will be used.
  34. //             5) "TilesFile"  
  35. //                 Type:      String
  36. //                 Meaning:   Indicates the name of the graphic file where the tile
  37. //                            pictures for this piece are located.
  38. //                 Default:   black_tiles.bmp
  39. //             5) "SmallTilesFile"  
  40. //                 Type:      String
  41. //                 Meaning:   Indicates the name of the graphic file where the small
  42. //                            tile pictures for this piece are located.
  43. //                 Default:   black_tiles_small.bmp
  44. //
  45. // Section: [PICTURES(COLOR,ROTATION)]
  46. // Meaning: This section describes what picture will be displayed for the piece 
  47. //          depending on its orientation and color. There must be EITHER 8
  48. //          entries OR 8 * 8 = 64 entries for the piece. The leftmost entry indicates
  49. //          what picture will be displayed if the item has an orientation of '0', 
  50. //          (or NORTH) the next, an orientation of '1' (NORTH-EAST) and so on. If 
  51. //          there is only one row, the same pictures will be used regardless of the
  52. //          color of the piece. If not, the first column represents color '0', the second
  53. //          color '1' and so on. The numbers map to actual colors as follows:
  54. //                         0 == BLACK   (000)
  55. //                         1 == BLUE    (001)
  56. //                         2 == GREEN   (010)
  57. //                         3 == CYAN    (011)
  58. //                         4 == RED     (100)
  59. //                         5 == MAGENTA (101)
  60. //                         6 == YELLOW  (110)
  61. //                         7 == WHITE   (111)
  62. // Mandatory: IF AND ONLY IF [ANIMATION_LIST] is undefined (see below).
  63. // Default:   None.
  64. //
  65. // Section: [ANIMATION_LIST]
  66. // Meaning: This section is used to define a SET OF SETS of pictures used for animating
  67. //          a piece. Each row defines one animation sequence that may be referenced from 
  68. //          the [ANIMATIONS(COLOR,ROTATION)] section.
  69. // Mandatory: IF AND ONLY IF [PICTURES(COLOR,ROTATION)] is undefined.
  70. // Default: None.
  71. //
  72. // Section: [ANIMATIONS(COLOR,ROTATION)]
  73. // Meaning: This section has the same format as the [PICTURES(COLOR,ROTATION)] section 
  74. //          except that the entries refer to animations (defined in [ANIMATION_LIST]) 
  75. //          instead of single pictures.
  76. // Mandatory: IF AND ONLY IF [PICTURES(COLOR,ROTATION)] is undefined.
  77. // Default: 0, 0, 0, 0, 0, 0, 0, 0
  78. //          0, 0, 0, 0, 0, 0, 0, 0
  79. //          0, 0, 0, 0, 0, 0, 0, 0
  80. //          0, 0, 0, 0, 0, 0, 0, 0
  81. //          0, 0, 0, 0, 0, 0, 0, 0
  82. //          0, 0, 0, 0, 0, 0, 0, 0
  83. //          0, 0, 0, 0, 0, 0, 0, 0
  84. //          0, 0, 0, 0, 0, 0, 0, 0
  85. //
  86. // Section: [ALTERNATE_ANIMATION_LIST]
  87. // Meaning: The numbers here define animations in exactly the same way as in the
  88. //          [ANIMATION_LIST] section. If [ALTERNATE_ANIMATION_LIST] is defined, then 
  89. //          we may switch the animation set depending on some other property of 
  90. //          the piece. Currently there are 2 properties that may be used to switch
  91. //          to the alternate animation set. These are the MOVEABLE and ROTATABLE flags 
  92. //          In order to cause the alternate animation set to be used, we define 
  93. //          ALTERNATE_ANIMATIONS in the [FLAGS] section of the file to be either 
  94. //          'm' (the moveable flag) or 'r' (the rotatable flag).
  95. // Mandatory: No
  96. // Default: None.
  97. //
  98. // Section: [DEFLECTION_LIST]
  99. // Meaning: This section consists of 1 to 8 sets of 3 sets of 8 numbers (color matrix).
  100. //          The numbers represent how RED, GREEN and BLUE light are to be
  101. //          deflected based on the initial direction of the beam. The first
  102. //          set represents how RED light is redirected, the second GREEN and
  103. //          the third, BLUE. The first number in each set describes how light 
  104. //          entering from the SOUTH side (travelling NORTH) will be redirected, the 
  105. //          second SOUTH-WEST and so on. 
  106. //          The deflection entries specify the new direction of the laser beam. So,
  107. //          for instance if the 3nd entry on the second row was 7, then the piece
  108. //          will deflect a green laser that comes from the EAST to the NORTH-WEST.
  109. //          An entry of -1 will cause the light to be stopped. If there is more than 
  110. //          1 set of 3 in the list, AND there is no "[DEFLECTIONS(COLOR)]" section, 
  111. //          then ALL deflections in the list will be applied to an incoming beam.
  112. // Mandatory: No
  113. // Default: 0, 1, 2, 3, 4, 5, 6, 7, 8 (no deflection)
  114. //          0, 1, 2, 3, 4, 5, 6, 7, 8
  115. //          0, 1, 2, 3, 4, 5, 6, 7, 8
  116. //
  117. // Section: [DEFLECTIONS(COLOR)]
  118. // Meaning: This section defines which deflection in the DEFLECTION_LIST should be used
  119. //          based on the COLOR OF THE ITEM. There are 8 entries in this section, one for
  120. //          each color. 0 means 'use deflection 0', 1 means use deflection 1' and so on.
  121. //          An entry of -1 means to apply ALL defined deflections to the incoming beam.
  122. // Mandatory: No
  123. // Default: -1, -1, -1, -1, -1, -1, -1, -1
  124. //
  125. // Section: [CUT]
  126. // Meaning: This section describes how light within the rectangle (or tile) of the
  127. //          piece is trimmed. Normally, a laser beam travelling through, or 
  128. //          originating in a given tile will be completely drawn from end to end.
  129. //          If a piece deflects light, we want the incoming beam to be cut off
  130. //          in the middle of the tile and the outgoing beam to appear to originate 
  131. //          where the incoming one stops. We do this by defining a cut-matrix. There 
  132. //          are 16 'cuts', numbered from 0 to 15, and they are defined as follows:
  133. //          Cut 0: Remove all laser light (including glowing effect) below a horizontal 
  134. //          line going through the center of the tile.
  135. //          Cut 1-15: Each time, rotate the line by 45/2 degrees keeping the 'REMOVE'
  136. //                    region orientated the same way with respect to the cut line as 
  137. //                    it rotates.
  138. //          
  139. //          The numbers defined in this section describe how an an OUTGOING laser 
  140. //          is cut depending on direction and color. The format of the data is the 
  141. //          same format that is used for the DEFLECTION_LIST entries (3 sets of 8 
  142. //          numbers). Aargon determines the cut for the incoming laser based on the 
  143. //          cut of the outgoing laser. This is called smart cutting. Note that an 
  144. //          entry of -1024 means 'NO CUTTING'.
  145. //          Note as well that if there is more than one DEFLECTION_LIST entry, and
  146. //          more than one CUT is defined in the cut section then Aargon will apply
  147. //          the nth cut in the CUT section for the nth deflection in the DEFLECTION
  148. //          section (assuming there is no DEFLECTIONS(COLOR) section defined).
  149. //
  150. // Mandatory: No
  151. // Default: If light is deflected (blocking cut):
  152. //          0, 2, 4, 6, 8, 10, 12, 14
  153. //          0, 2, 4, 6, 8, 10, 12, 14
  154. //          0, 2, 4, 6, 8, 10, 12, 14
  155. //          For example, look at light going NORTH (entry 0). The outgoing beam will be
  156. //          cut in such a way as to SHOW all light in the NORTH half of the tile. Aargon
  157. //          determines that this means that the INCOMING beam will have a cut of 8 (show
  158. //          all light in the SOUTH half of the tile. In the case where the light is blocked
  159. //          from this direction (say a WOOD piece) we will see the incoming beam stopped
  160. //          in the center of the piece and NO outgoing beam.
  161. //
  162. //          If light is NOT deflected (no cut)
  163. //          -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024
  164. //          -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024
  165. //          -1024, -1024, -1024, -1024, -1024, -1024, -1024, -1024
  166. //
  167. // Section: [CONVERSION]
  168. // Meaning: This section is used to describe how primary colors are converted to other colors 
  169. //          by the piece. The format is similar to the deflection matrix (COLOR vs DIRECTION).
  170. // NOTE:    The current game implementation only allows for primary colors to be converted 
  171. //          to other primary colors. To be perfectly general, the conversion matrix should allow
  172. //          for conversion from secondary colors to primary and vice versa.
  173. //
  174. // Section: [WIN_LOSE_TABLE(COLOR,COLOR)]
  175. // Meaning: This section describes how lasers interacting with the piece may change the 'win' 
  176. //          status of that piece. The rules for deciding whether or not a level is won, lost, or
  177. //          neither are as folows:
  178. //             1) A level is considered 'won' if EVERY piece in the level has
  179. //                a winning status of 1. 
  180. //             2) A level is considered 'lost' if ANY piece has a winning status
  181. //                of -1 in which case the piece will 'explode'.
  182. //             3) A level is considered neither 'won' nor 'lost' if ANY piece has a
  183. //                winning status of 0.
  184. //          The Win-Lose table indicates what winning condition a piece has depending on the color
  185. //          of the piece and the color a laser interacting with the piece. 
  186. //          The columns of the matrix indicate the color of the laser and the rows indicate the 
  187. //          color of the piece.
  188. //          IMPORTANT NOTE:
  189. //          For a piece to achieve a win/lose value of ' 1', the laser must be NON-CROSSING. 
  190. //          For a piece to achieve a win/lose value of '-1', the laser MAY BE CROSSED with another beam.
  191. //
  192. // Section: [MOVING]
  193. // Meaning: The existence of this section indicates that the piece is a 'moving' piece (such as a mine 
  194. //          or slime). There are 4 flags in this section:
  195. //             1) "Graphic"
  196. //                 Type:      String.
  197. //                 Meaning:   The name of the graphic file containing the animation for the piece.
  198. //                 Default:   None.
  199. //                 Mandatory: Yes
  200. //             2) "Rows"
  201. //                 Type:      UINT
  202. //                 Meaning:   Number of rows in the graphic file animation.
  203. //                 Default:   1
  204. //                 Mandatory: No
  205. //             3) "Cols"
  206. //                 Type:      UINT
  207. //                 Meaning:   Number of columns in the graphic file animation.
  208. //                 Default:   1
  209. //                 Mandatory: No
  210. //             4) "Factory"
  211. //                 Type:      String.
  212. //                 Meaning:   The name of the .DLL file that contains the code
  213. //                            describing the piece's behaviour.
  214. //                 Mandatory: Yes
  215. //                 Note:      Currently we do not publish the libs and header files necessary
  216. //                            to create a moving object .DLL. 
  217. //                            If you have an idea and you wish to create a moving object, 
  218. //                            please contact:  info@twilightgames.com
  219. /////////////////////////////////////////////////////////////////////////////////
  220.  
  221. /////////////////////////////////////////////////////////////////////////////////
  222. //Note: 256 and 257 are for gamma correction.
  223. [PICTURES(COLOR,ROTATION)]
  224. 1, 256, 257, 1, 1, 1, 1, 1
  225.  
  226. [FLAGS]
  227. TOKEN = ' '
  228.